1. Field of the Invention
This invention relates generally to image display systems and more particularly to a method and apparatus for displaying and manipulating the images in the compressed domain to reduce memory and disk capacity requirements.
2. Description of the Related Art
Advances in the capability of printers, scanners, monitors, digital cameras, etc. are driving a need to display large images, i.e., images greater than about 30 megabytes (MB) in size. The advances combined with increases in resolution and bit depth have sparked a need to display large images. In addition, users that photograph panoramic views from a digital camera or simply stitch together multiple pictures to make a larger picture require the capability to efficiently process the large images being created. Consequently, the demand for storage space on a personal computer for displaying the image causes the display to be painstakingly slow, and in some instances the image may be too large to be displayed.
Furthermore, a user will want to manipulate the image. For example, a user may select, or pan to, different areas of the image as well as changing the magnification of the image. FIG. 1 is a simplified pictorial representation of a large high resolution image stored on a hard disk of a personal computer for display. Image 100 is stored on hard disk 102. A user may select portion 104 of image 100 to be displayed on personal computer monitor 106. Thus, portion 104 must be cropped from image 100 and scaled to fit in the display area of monitor 106.
FIG. 2 is a flowchart diagram of the method operations performed when displaying a large high resolution image on a display. The method is divided into three sections: preprocessing 110, display processing 114 and post processing 122. Preprocessing 110 includes the method operations performed to get the image ready for display processing section 114. Display processing section 114 includes the method operations performed to display an image region at various magnifications. Post processing section 122 includes method operations for restoring the system to the state prior to the preprocessing 110.
The method of FIG. 2 initiates with operation 112 where the image file is read from the disk and decompressed into memory. The method then proceeds to display processing section 114 where the image is cropped 116 to the region that will be displayed. Then, the cropped image is scaled 118 to fit the display area and then displayed 120. The method then advances to operation 124 where the memory holding the image is freed. While this approach is sufficient for images that fit in physical memory of the computer, for images that do not, there is typically too much virtual memory swapping. The virtual memory swapping significantly slows system performance. Another shortcoming of this approach is that a system not supporting virtual memory will not be able to display the image. In addition, as the size of the image to be displayed increases, the scaling algorithm becomes much too computationally expensive and will slow system performance in addition to possibly not being able to fit in the memory.
As a result, there is a need to solve the problems of the prior art to provide a method and apparatus for displaying large high resolution images in an efficient manner where a user can easily change the magnification of a region of the image to be displayed while conserving memory.